package com.syp.auth.service.base;

import java.util.List;

import com.syp.auth.domain.vo.RoleVo;
import com.syp.auth.domain.vo.easyui.TreeNode;

/**
 * 角色业务处理接口
 * 
 * @author syp
 */
public interface RoleServiceI {

	/**
	 * @desc 添加角色
	 * @param role
	 */
	public void add(RoleVo role);

	/**
	 * @desc 删除角色
	 * @param role
	 */
	public void delete(Long id);

	/**
	 * @desc 编辑角色
	 * @param role
	 */
	public void edit(RoleVo role);
	
	/**
	 * 角色列表树
	 * 
	 * @param role
	 * @param recursive
	 * @return
	 */
	public RoleVo treegrid(RoleVo root, boolean recursive);

	/**
	 * 角色树
	 * 
	 * @param role
	 * @param limitRoleIdList
	 * @param recursive
	 * @return
	 */
	public TreeNode tree(RoleVo root, List<Long> limitRoleIdList, boolean recursive);

	/**
	 * 给角色授权
	 * 
	 * @param role
	 */
	public void grant(RoleVo role, List<Long> limitIds);

	/**
	 * 获取角色的信息
	 * 
	 * @param role
	 * @return
	 */
	public RoleVo get(Long id);

	/**
	 * @desc 将角色页面对象转换成树节点
	 * @param role
	 * @return
	 */
	public TreeNode transTreeNode(RoleVo role);

	/**
	 * @desc 检查用户名是否唯一
	 * @param role
	 * @return
	 */
	public boolean checkRoleCodeUnique(String roleCode);
}
